package org.pine.common.beans;

import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 系统日志结构体
 *
 * @author pine
 * @version v1.0
 * @since 2025-04-28 22:36
 */
@Data
@Accessors(chain = true)
public class SysLogBody implements Serializable {
    @Serial
    private static final long serialVersionUID = -5537811046900378030L;

    /**
     * 日志唯一值
     */
    private String logId;

    /**
     * 操作ip
     */
    private String requestIp;

    /**
     * 日志类型:error=错误日志,info=正常日志
     */
    private String logType;

    /**
     * 操作描述
     */
    private String description;

    /**
     * 类路径
     */
    private String classPath;

    /**
     * 方法名
     */
    private String actionMethod;

    /**
     * 请求类型，比如GET、POST等
     */
    private String httpMethod;

    /**
     * 请求报文
     */
    private String requestParam;

    /**
     * 响应报文
     */
    private String responseParam;

    /**
     * 请求路径
     */
    private String requestUri;

    /**
     * 开始时间
     */
    private LocalDateTime startTime;

    /**
     * 结束时间
     */
    private LocalDateTime endTime;

    /**
     * 耗时（单位：毫秒）
     */
    private Long costTime;

    /**
     * 错误信息
     */
    private String error;
}
